﻿namespace Sidvall.Serialization
{
    public class SerializerSettings
    {
        public TypeNameHandlingPolicy TypeNameHandling { get; set; }
        public ReferenceLoopHandlingPolicy ReferenceLoopHandlingPolicy { get; set; }
        public NullValueHandlingPolicy NullValueHandlingPolicy { get; set; }
        public EnumHandlingPolicy EnumHandlingPolicy { get; set; }
        public Formatting Formatting { get; set; }
        public DisplayPositionPolicy DefaultDisplayPositionPolicy { get; set; }
        public int? DefaultDisplayPosition { get; set; }

        #region DataTypePropertyItems

        private DataTypePropertyItemCollection _DataTypePropertyItems;
        public DataTypePropertyItemCollection DataTypePropertyItems
        {
            get
            {
                if (_DataTypePropertyItems == null)
                    return _DataTypePropertyItems = new DataTypePropertyItemCollection();
                return _DataTypePropertyItems;
            }
        }

        #endregion
        #region PropertyItems

        private PropertyItemCollection _PropertyItems;
        public PropertyItemCollection PropertyItems
        {
            get
            {
                if (_PropertyItems == null)
                    return _PropertyItems = new PropertyItemCollection();
                return _PropertyItems;
            }
        }

        #endregion
    }
}
